package com.ruoyi.web.controller.shop.goods.domain;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.web.controller.shop.imgs.domain.ShopImages;

/**
 * 店铺商品对象 shop_goods
 * 
 * @author ruoyi
 * @date 2020-10-17
 */
public class ShopGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String name;

    /** 商品副标题 */
    @Excel(name = "商品副标题")
    private String title;

    /** 列表图片 */
    @Excel(name = "列表图片")
    private String img;

    /** 商品简介 */
    @Excel(name = "商品简介")
    private String note;

    /** 属性详情（备用） */
    @Excel(name = "属性详情", readConverterExp = "备=用")
    private String prop;

    /** 参数详情（备用） */
    @Excel(name = "参数详情", readConverterExp = "备=用")
    private String param;

    /** 是否下架(0上架,1下架) */
    @Excel(name = "是否下架(0上架,1下架)")
    private Integer disabled;

    /** 审核状态0-审核中，1-审核成功，2-审核失败 */
    @Excel(name = "审核状态0-审核中，1-审核成功，2-审核失败")
    private Integer check;

    /** 审核人id */
    @Excel(name = "审核人id")
    private String checkId;

    /** 上架时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date upAt;

    /** 下架时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下架时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date downAt;

    /** 浏览量 */
    @Excel(name = "浏览量")
    private Long numView;

    /** 排序字段 */
    @Excel(name = "排序字段")
    private Integer location;

    /** 创建用户id */
    @Excel(name = "创建用户id")
    private Long createId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 删除标记0-显示,1-删除 */
    private Integer delFlag;

    /** 门店ID */
    private String shopId;

    //商品轮播图
    private List<ShopImages> bannerList;
    //商品详情图
    private List<ShopImages> infoImgList;

    private ShopImages videoTop;
    private ShopImages videoBottom;

    public ShopImages getVideoTop() {
        return videoTop;
    }

    public void setVideoTop(ShopImages videoTop) {
        this.videoTop = videoTop;
    }

    public ShopImages getVideoBottom() {
        return videoBottom;
    }

    public void setVideoBottom(ShopImages videoBottom) {
        this.videoBottom = videoBottom;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setImg(String img) 
    {
        this.img = img;
    }

    public String getImg() 
    {
        return img;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }
    public void setProp(String prop) 
    {
        this.prop = prop;
    }

    public String getProp() 
    {
        return prop;
    }
    public void setParam(String param) 
    {
        this.param = param;
    }

    public String getParam() 
    {
        return param;
    }
    public void setDisabled(Integer disabled) 
    {
        this.disabled = disabled;
    }

    public Integer getDisabled() 
    {
        return disabled;
    }
    public void setCheck(Integer check) 
    {
        this.check = check;
    }

    public Integer getCheck() 
    {
        return check;
    }
    public void setCheckId(String checkId)
    {
        this.checkId = checkId;
    }

    public String getCheckId()
    {
        return checkId;
    }
    public void setUpAt(Date upAt) 
    {
        this.upAt = upAt;
    }

    public Date getUpAt() 
    {
        return upAt;
    }
    public void setDownAt(Date downAt) 
    {
        this.downAt = downAt;
    }

    public Date getDownAt() 
    {
        return downAt;
    }
    public void setNumView(Long numView) 
    {
        this.numView = numView;
    }

    public Long getNumView() 
    {
        return numView;
    }
    public void setLocation(Integer location) 
    {
        this.location = location;
    }

    public Integer getLocation() 
    {
        return location;
    }
    public void setCreateId(Long createId) 
    {
        this.createId = createId;
    }

    public Long getCreateId() 
    {
        return createId;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }

    public String getShopId() {
        return shopId;
    }

    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    public List<ShopImages> getBannerList() {
        return bannerList;
    }

    public void setBannerList(List<ShopImages> bannerList) {
        this.bannerList = bannerList;
    }

    public List<ShopImages> getInfoImgList() {
        return infoImgList;
    }

    public void setInfoImgList(List<ShopImages> infoImgList) {
        this.infoImgList = infoImgList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("title", getTitle())
            .append("img", getImg())
            .append("note", getNote())
            .append("prop", getProp())
            .append("param", getParam())
            .append("disabled", getDisabled())
            .append("check", getCheck())
            .append("checkId", getCheckId())
            .append("upAt", getUpAt())
            .append("downAt", getDownAt())
            .append("numView", getNumView())
            .append("location", getLocation())
            .append("createId", getCreateId())
            .append("createAt", getCreateAt())
            .append("updateAt", getUpdateAt())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
